package dao

import (
	"web08_35_tushu/model"
	"web08_35_tushu/utils"
)

//有关用户的数据库操作都会放在userdao.go这里

//CheckUserNameAndPassword 是用来查询用户的，根据用户名密码从数据库查一条记录
func CheckUserNameAndPassword(username string, password string) (*model.User, error) {
	//写sql语句
	sqlStr := "select id,username,password,email from users where username = ? and password = ?"
	//执行
	row := utils.Db.QueryRow(sqlStr, username, password)
	user := model.User{} //下面填地址是为了能直接对里面的元素进行操作
	row.Scan(&user.ID, &user.Username, &user.Password, &user.Email)
	return &user, nil
	//其实返回结构体副本和结构体指针差不多

}

//CheckUserName 检查该用户名是否已存在
func CheckUserName(username string) (model.User, error) {
	//写sql语句
	sqlStr := "select id,username,password,email from users where username = ?"
	//执行
	row := utils.Db.QueryRow(sqlStr, username)
	user := model.User{} //下面填地址是为了能直接对里面的元素进行操作
	row.Scan(&user.ID, &user.Username, &user.Password, &user.Email)
	return user, nil

}

//SaveUser 是用来向数据库插入数据添加用户的
func SaveUser(username string, password string, email string) error {
	//写插入数据sql语句
	sqlStr := "insert into users(username,password,email) values(?,?,?)"
	//执行
	_, err := utils.Db.Exec(sqlStr, username, password, email)
	if err != nil {
		return err
	}
	return nil
}
